There are three key factors of a system of coupled oscillators that characterize the interaction among them: coupling (how to affect), delay (when to affect) and topology (whom to affect). For each of them, the existing work has mainly focused on special cases. With new angles and tools, this paper makes progress in relaxing some assumptions of these factors. There are three main results in this paper. First, by using results from algebraic graph theory, a sufficient condition is obtained which can be used to check equilibrium stability. This condition works for arbitrary topology. It generalizes existing results and also leads to a sufficient condition on the coupling function with which the system is guaranteed to reach synchronization. Second, it is known that identical oscillators with sin() coupling functions are guaranteed to synchronize in phase on a complete graph. Using our results, we demonstrate that for many cases certain structures instead of exact shape of the coupling function such as symmetry and concavity are the keys for global synchronization. Finally, the effect of heterogenous delays is investigated. We develop a new framework by constructing a non-delayed phase model that approximates the original one in the continuum limit. We further derive how its stability properties depend on the delay distribution. In particular, we show that heterogeneity, i.e. wider delay distribution, can help reach in-phase synchronization.